﻿using System.Collections.Generic;
using CkSoftware.GroupMe.Sdk.Core.Enums;
using CkSoftware.GroupMe.Sdk.Groups.Commands;
using Newtonsoft.Json;

namespace CkSoftware.GroupMe.Sdk.Groups.Dao
{
	/// <summary>
	/// The <see cref="GroupAddMemberResultsCommand" /> results data.
	/// </summary>
	public class GroupAddMemberResultsData
	{
		/// <summary>
		/// The list of successfully added members.
		/// </summary>
		[JsonProperty(PropertyName = "members")]
		public IEnumerable<GroupMemberAddedData> AddedMembers { get; set; }

		/// <summary>
		/// The list of not added members.
		/// </summary>
		[JsonIgnore]
		public IEnumerable<GroupMemberAddedMissingData> MissingMembers { get; set; }

		/// <summary>
		/// The status of the add-member command processing.
		/// </summary>
		[JsonIgnore]
		public AsyncGroupMeApiStatus Status { get; set; }
	}
}